package Test02;

public abstract class Template {

	/**
	 * 开发一个小程序：测试程序运行的时长
	 * 
	 * 采用模板设计模式：开始、结束时间是固定的   每个程序是特殊的需要抽象方法   
	 */
	
	//设计一个计算时间的方法，这是固定的步骤
	/**
	 * 固定 添加final 不让子类修改这个方法 是固定的
	 */
	public final void getTime(){
		
		//获取起点时间
		//System.currentTimeMillis() 获取毫秒时间  long类型接收
		//获得起始时间
		long start = System.currentTimeMillis();
		//需要测试的程序
		method();
		
		long end = System.currentTimeMillis();
		
		long time = end - start;
		System.out.println("时间(毫秒)为：" + time);
	}
	//抽象方法 不同的测试程序
	public abstract void method();
}

class Method extends Template{

	@Override
	public void method() {
		
		for (int i = 0; i < 10000000; i++) {
			
		}
		
	}
	
}
